package com.cn.serverline.lineicp.productionLine.entity;

import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.sql.Timestamp;

/**
 * 产品结构表
 *
 * @author Gmr
 * @since 2024-07-30
 */
@TableName("CT_PRODUCT_MIX")
@Data
@EqualsAndHashCode(callSuper = false)
public class ProductMix extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    @ChineseDescription("主键")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 父ID
     */
    @ApiModelProperty(value = "父ID")
    @ChineseDescription("父ID")
    @TableField("PARENT_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long parentId;

    /**
     * 节点名称
     */
    @ApiModelProperty(value = "节点名称")
    @ChineseDescription("节点名称")
    @TableField("NAME")
    private String name;

    /**
     * 类别(0.大类,1.二级类,2.型号,3.零组件)
     */
    @ApiModelProperty(value = "类别(0.大类,1.二级类,2.型号,3.零组件)")
    @ChineseDescription("类别(0.大类,1.二级类,2.型号,3.零组件)")
    @TableField("CATEGORY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long category;

    /**
     * 零组件代号
     */
    @ApiModelProperty(value = "零组件代号")
    @ChineseDescription("零组件代号")
    @TableField("COMPONENT_CODE")
    private String componentCode;

    /**
     * 工艺阶段(0.总装,1.部装)
     */
    @ApiModelProperty(value = "工艺阶段(0.总装,1.部装)")
    @ChineseDescription("工艺阶段(0.总装,1.部装)")
    @TableField("PROCESS_STAGE")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long processStage;

    /**
     * 产品代号
     */
    @ApiModelProperty(value = "产品代号")
    @ChineseDescription("产品代号")
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 主制分厂
     */
    @ApiModelProperty(value = "主制分厂")
    @ChineseDescription("主制分厂")
    @TableField("MAIN_MANUFACTURING_PLANT")
    private String mainManufacturingPlant;

    /**
     * 阶段标记
     */
    @ApiModelProperty(value = "阶段标记")
    @ChineseDescription("阶段标记")
    @TableField("STAGE_MARKING")
    private String stageMarking;

    /**
     * 版次
     */
    @ApiModelProperty(value = "版次")
    @ChineseDescription("版次")
    @TableField("EDITION")
    private String edition;

    /**
     * 版本
     */
    @ApiModelProperty(value = "版本")
    @ChineseDescription("版本")
    @TableField("VERSION")
    private BigDecimal version;
}
